home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1997 / HAM Radio 1997.iso / vcls / moden / examples / tagfrm.pas < prev    next >
Pascal/Delphi Source File  |  1996-04-08  |  2KB  |  92 lines

  1. {$G+,X+,F+}
  2.  
  3. {Conditional defines that may affect this unit}
  4. {$I AWDEFINE.INC}
  5.  
  6. {*********************************************************}
  7. {*                   TAGFRM.PAS 1.01                     *}
  8. {*        Copyright (c) TurboPower Software 1995         *}
  9. {*                 All rights reserved.                  *}
  10. {*********************************************************}
  11.  
  12. unit Tagfrm;
  13.  
  14. interface
  15.  
  16. uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, Buttons,
  17.   StdCtrls, OoMisc, AdMisc, AdModDB;
  18.  
  19. type
  20.   TTagForm = class(TForm)
  21.     OKBtn: TBitBtn;
  22.     CancelBtn: TBitBtn;
  23.     HelpBtn: TBitBtn;
  24.     Label1: TLabel;
  25.     Label2: TLabel;
  26.     Label3: TLabel;
  27.     Label4: TLabel;
  28.     Label5: TLabel;
  29.     Tag1Edit: TEdit;
  30.     Tag2Edit: TEdit;
  31.     Tag3Edit: TEdit;
  32.     Tag4Edit: TEdit;
  33.     Tag5Edit: TEdit;
  34.     GroupBox1: TGroupBox;
  35.     procedure OKBtnClick(Sender: TObject);
  36.   public
  37.     EditData : PTagArray;
  38.     EditNum  : ^Word;
  39.     constructor Create(AOwner : TComponent; var Data : TTagArray; var NumTags : Word);
  40.   end;
  41.  
  42. var
  43.   TagForm: TTagForm;
  44.  
  45. implementation
  46.  
  47. {$R *.DFM}
  48.  
  49. constructor TTagForm.Create(AOwner : TComponent; var Data : TTagArray; var NumTags : Word);
  50. begin
  51.   inherited Create(AOwner);
  52.  
  53.   EditData := @Data;
  54.   EditNum := @NumTags;
  55.  
  56.   {set initial values}
  57.   Tag1Edit.Text := EditData^[1];
  58.   Tag2Edit.Text := EditData^[2];
  59.   Tag3Edit.Text := EditData^[3];
  60.   Tag4Edit.Text := EditData^[4];
  61.   Tag5Edit.Text := EditData^[5];
  62. end;
  63.  
  64. procedure TTagForm.OKBtnClick(Sender: TObject);
  65. var
  66.   I    : Byte;
  67.   OT   : Byte;
  68.   Temp : TTagArray;
  69.  
  70. begin
  71.   {put strings in array}
  72.   EditData^[1] := Tag1Edit.Text;
  73.   EditData^[2] := Tag2Edit.Text;
  74.   EditData^[3] := Tag3Edit.Text;
  75.   EditData^[4] := Tag4Edit.Text;
  76.   EditData^[5] := Tag5Edit.Text;
  77.  
  78.   {remove blank strings between tags}
  79.   FillChar(Temp, SizeOf(Temp), 0);
  80.   OT := 0;
  81.   for I := 1 to MaxTags do
  82.     if (EditData^[I] <> '') then begin
  83.       Inc(OT);
  84.       Temp[OT] := EditData^[I];
  85.     end;
  86.   EditData^ := Temp;
  87.   EditNum^ := OT;
  88.   ModalResult := mrOK;
  89. end;
  90.  
  91. end.
  92.